x11: Use X11 variables instead of GDK variables
authorBenjamin Otte <otte@redhat.com>
Thu, 3 Nov 2016 04:46:46 +0000 (05:46 +0100)
committerBenjamin Otte <otte@redhat.com>
Thu, 3 Nov 2016 19:33:33 +0000 (20:33 +0100)
This way, we avoid GdkVisual usage.

gdk/x11/gdkwindow-x11.c

index 675293b26dd8e012e2b5731f9cd2e6d993c9451a..f1b2c07ec4428b994ef8f0807710ecdeb0aec034 100644 (file)
@@ -599,20 +599,23 @@ gdk_x11_window_create_pixmap_surface (GdkWindow *window,
                                       int        width,
                                       int        height)
 {
-  GdkScreen *screen = gdk_window_get_screen (window);
-  GdkVisual *visual = gdk_screen_get_system_visual (screen);
+  GdkDisplay *display;
+  Display *dpy;
   cairo_surface_t *surface;
   Pixmap pixmap;
 
-  pixmap = XCreatePixmap (GDK_WINDOW_XDISPLAY (window),
+  display = gdk_window_get_display (window);
+  dpy = GDK_DISPLAY_XDISPLAY (display);
+
+  pixmap = XCreatePixmap (dpy,
                           GDK_WINDOW_XID (window),
                           width, height,
-                          gdk_visual_get_depth (visual));
-  surface = cairo_xlib_surface_create (GDK_WINDOW_XDISPLAY (window),
+                          DefaultDepth (dpy, DefaultScreen (dpy)));
+  surface = cairo_xlib_surface_create (dpy,
                                        pixmap,
-                                       GDK_VISUAL_XVISUAL (visual),
+                                       DefaultVisual (dpy, DefaultScreen (dpy)),
                                        width, height);
-  attach_free_pixmap_handler (surface, GDK_WINDOW_DISPLAY (window), pixmap);
+  attach_free_pixmap_handler (surface, display, pixmap);
 
   return surface;
 }